package edu.mis.modules.commodity;

import com.jfinal.plugin.activerecord.Record;
import edu.mis.model.Commodity;

import java.util.List;

/**
 * 商品服务类
 *
 */
public class CommodityService {
	
	/**
	 * 添加商品
	 * @param commodity
	 * @return
	 */
	public boolean addCommodity(Commodity commodity){
		if(commodity.findCommodityByName(commodity.getCommodityName())==null){ //此处为业务逻辑，写在service里，不要写在model里。判断是否商品名重复，
			return commodity.save();
		}else{
			return false;
		}
		
	}
    /**
     * 修改商品信息
     * @param commodity
     * @return
     */
    public boolean updateCommodity(Commodity commodity){
            return commodity.update();
    }
	
	/**
	 * 修改商品数量
	 * @param newCommodityQty
	 * @return
	 */
	public boolean updateCommodityQty(int id,int newCommodityQty){
		Commodity commodity = findCommodityById(id);
//		commodity.setCommodityQty(newCommodityQty);
		return commodity.update();
	}
	

	
	/**
	 * 根据ID得到商品
	 * @param id
	 * @return
	 */
	public Commodity findCommodityById(int id) {
		return Commodity.dao.findById(id);
	}
	
	/**
	 * 查询所有商品
	 * @return
	 */
	public List<Commodity> findAllCommodity(){
		return Commodity.dao.findAll();
	}
	/**
	 * 查询所有商品及其权限
	 * @return
	 */
	public List<Record> findAllCommodityWithType(){
		return Commodity.dao.findAllRecord();
	}

	/**
	 * 商品分类
	 * @param id
	 * @param typeId
	 * @return
	 */
	public boolean classifyCommodity(int id, int typeId) {
		Commodity commodity = findCommodityById(id);
		commodity.setTypeId(typeId);
		return commodity.update();
	}
	/**
	 * 删除商品
	 * @param id
	 * @return
	 */
	public boolean deleteCommodityById(int id) {
		return Commodity.dao.deleteById(id);
	}
}
